/**
 * 格式化时间
 * @param {number|string|Date} time - 时间戳、日期字符串或Date对象
 * @param {string} [format='YYYY-MM-DD HH:mm:ss'] - 输出格式
 * @returns {string} 格式化后的时间字符串
 */
export function formatTime(time, format = 'YYYY-MM-DD HH:mm:ss') {
  const date = time instanceof Date ? time : new Date(time);

  if (isNaN(date.getTime())) {
    return '';
  }

  const formatObj = {
    YYYY: date.getFullYear(),
    MM: String(date.getMonth() + 1).padStart(2, '0'),
    DD: String(date.getDate()).padStart(2, '0'),
    HH: String(date.getHours()).padStart(2, '0'),
    mm: String(date.getMinutes()).padStart(2, '0'),
    ss: String(date.getSeconds()).padStart(2, '0'),
  };

  return format.replace(/(YYYY|MM|DD|HH|mm|ss)/g, match => formatObj[match]);
}
